package communication;



public abstract class Protocol {
	
	/**
	 * Het kanaal naarwaar geschreven wordt.
	 */
	private KanaalUiteinde kanaal;
	
	public Protocol(){
		
	}
	
	protected KanaalUiteinde getKanaal(){
		return kanaal;
	}
	
	public void setKanaal(KanaalUiteinde kanaal){		
		this.kanaal = kanaal;
	}

	/**
	 * Verwerkt binnenkomende bytes.
	 * 
	 * @throws	NullPointerException
	 * 			bytes == null
	 */
	public abstract void verwerkInkomend(byte[] bytes);

	
	public void verwerkInkomend(byte[] bytes, int aantal){
		byte[] b = new byte[aantal];
		for(int i = 0; i < aantal; i++)
			b[i] = bytes[i];
		verwerkInkomend(b);
	}
	

	
	
}
